#pragma once

#include <hash_map>
#include <string>

#include "AnimatedActor.h"
#include "Animacion.h"
#include "external/tinyxml.h"
#include "EventListener.h"

using namespace std;


class NPC :
	public AnimatedActor , public EventListener
	{
	protected:
		//atributos
		int faccion;

		float vida;
		float fuerza;
		float agilidad;
		int rangoVision;

		int nivel;
		
		bool marcadoBorrado;

		string nombre;

		//IA

		ID target;

		string inicial;
	public:
		NPC(string & nombreUnidad, float x = 0.f, float y = 0.f);

		virtual void update(float speedFactor);
		virtual void render();
		int getRangoVision();

		string &getNombre(){return nombre;}

		//ia
		void onAproximacion(Actor *a);
		void encarar(Actor *a);

		~NPC(void);
		//listener
		virtual bool onEvent(Event *e);
	};
